package com.cysoft.third.echarts.component.axisPointer;

/**
 * @author 玖零
 * @version v0.0.1
 * @project cysoft-third-echarts
 * @package com.cysoft.third.echarts.component.axisPointer
 * @date 2025/3/13 11:08
 * @desc 坐标轴指示器（axisPointer）的全局公用设置
 */
public class AxisPointer {

    /**
     * 组件 ID
     */
    private String id;

    /**
     * 是否显示指示器
     * 默认值: false
     */
    private Boolean show = false;

    /**
     * 指示器类型
     * 可选值: 'line' | 'shadow' | 'none'
     * 默认值: 'line'
     */
    private String type = "line";

    /**
     * 是否自动吸附到数据点
     * 默认值: 根据轴类型自动判断
     */
    private Boolean snap;

    /**
     * 图形层叠优先级
     */
    private Integer z;

    /**
     * 指示器文本标签配置
     */
    private AxisPointerLabel label;

    /**
     * 直线指示器样式配置
     */
    private AxisPointerLineStyle lineStyle;

    /**
     * 阴影指示器样式配置
     */
    private AxisPointerShadowStyle shadowStyle;

    /**
     * 是否触发系列强调效果
     * 默认值: true
     */
    private Boolean triggerEmphasis = true;

    /**
     * 是否触发提示框
     * 默认值: true
     */
    private Boolean triggerTooltip = true;

    /**
     * 当前值（用于手柄初始化）
     */
    private Double value;

    /**
     * 当前状态（show/hide）
     */
    private String status;

    /**
     * 拖拽手柄配置
     */
    private AxisPointerHandle handle;

    /**
     * 轴联动配置
     */
    private LinkGroup[] link;

    /**
     * 触发方式
     * 可选值: 'mousemove' | 'click' | 'none'
     * 默认值: 'mousemove|click'
     */
    private String triggerOn = "mousemove|click";
}
